Automotive switch fabric with improved QoS and method

ABSTRACT

A vehicle communication network ( 200 ) includes a plurality of network elements ( 208 - 212 ) and a plurality of communication links ( 214 - 230 ) communicatively coupling the network elements in a point-to-point configuration. Message traffic on the communication links is controlled by at least one of controlling the communication links and controlling message traffic access to the communication links.

CROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims benefit under 35 U.S.C. §119 (e) toprovisional patent application serial No. 60/477,897, filed Jun. 12,2003, the disclosure of which is hereby expressly incorporated herein byreference.

TECHNICAL FIELD

[0002] The present patent relates to vehicles and particularly toquality of service (QoS) within communication networks within vehicles.

BACKGROUND

[0003] Vehicle builders have been using serial communication(multiplexing) between controllers to share information and distributecontrol for some time. Doing so has greatly reduced the amount ofvehicle signal wiring needed to implement the comfort, convenience, andsafety features desired in modern consumer vehicles.

[0004] Control of the devices in the vehicle to implement desiredfeatures may be divided into controllers by function (powertrain,braking, steering, etc.), by location (engine compartment, seat, door,etc.) or in combinations thereof. The controller for each of thefunctions/zones may share information with other controllers using ashared-access serial bus. The bus usually follows an industry standardsuch as J1850, CAN, LIN, Flexray, MOST and the like, well known to thoseof skill in the art. Multiple, independent busses may be used. In thatcase, one of the controllers may act as a gateway for informationbetween the incompatible busses.

[0005] An alternative architecture introduces the idea of dividing thevehicle into geographic regions and locating a single controller for allof the features in that region. This architecture may also include theconcept of smart peripherals to reduce the number of interconnections inlocalized areas of the vehicle. The smart peripherals use simple serialcommunication busses such as LIN busses to relay information fromsensors to the zone controller or to accept actuator commands from thezone controller. The zone controllers may be linked by a serialcommunication bus structure.

[0006] Another alternative architecture incorporates a junction blockthat can be located in various zones of the vehicle. The junction blockprovides a mechanical and electrical connection point for power, groundand communication for small devices that are used to interface betweeninput and output devices. The junction block also provides over currentprotection devices for the small connected devices, and multiple powersources distributed at different levels within the system.

[0007] Current bus protocols are not easily scalable and are limited inbandwidth. X-by-wire functionality, multimedia infotainment, navigationand other content intensive applications will put more demands onbandwidth and quality of service (QoS) requiring marked improvements inbandwidth, speed, delay, jitter, fault tolerance, message integrity,guaranteed delivery, availability and survivability.

[0008] Therefore, there is needed new architecture, such as switchfabric network architecture, for the automotive environment thatprovides scalability in both capacity and redundancy, at costs on parwith existing bus architecture.

BRIEF DESCRIPTION OF THE DRAWINGS

[0009] This disclosure will describe several embodiments to illustrateits broad teachings. Reference is also made to the attached drawings.

[0010]FIG. 1 is a schematic representation of a vehicle incorporating avehicle network.

[0011]FIG. 2 is a schematic representation of a switch fabric forming aportion of a vehicle network.

[0012]FIG. 3 is a schematic representation of a switch fabric forming aportion of a vehicle network and further illustrating communicationpaths within the network.

[0013]FIG. 4 is a schematic representation of a switch fabric forming aportion of vehicle network and further illustrating disparatecommunication links.

[0014]FIG. 5 is a block diagram of a network element that may be used inthe networks shown in FIGS. 1-4.

[0015]FIG. 6 is a schematic representation of a data packet.

[0016]FIGS. 7-9 are schematic diagrams illustrating a network includingsource nodes, consumer nodes and routing nodes within the network.

[0017]FIG. 10 is a schematic representation of an alternative embodimentof a vehicle network.

[0018]FIG. 11 is a schematic representation of a data frame that may beused in the network shown in FIG. 10.

[0019]FIG. 12 is a schematic representation of an alternative embodimentof a vehicle network.

[0020]FIG. 13 is a schematic representation of a data frame that may beused in the network shown in FIG. 12.

[0021]FIG. 14 is a schematic representation of an alternative embodimentof a vehicle network.

[0022]FIG. 15 is a schematic representation of an alternative embodimentof a vehicle network.

DETAILED DESCRIPTION

[0023] Although the following text sets forth a detailed description ofnumerous different embodiments of the invention, it should be understoodthat the legal scope of the invention is defined by the words of theclaims set forth at the end of this patent. The detailed description isto be construed as exemplary only and does not describe every possibleembodiment of the invention because describing every possible embodimentwould be impractical, if not impossible. Numerous alternativeembodiments could be implemented, using either current technology ortechnology developed after the filing date of this patent, which wouldstill fall within the scope of the claims defining the invention.Moreover, structure, features and functions of the herein describedembodiments should be considered interchangeable, and every structure,feature or function may be used with any of the embodiments hereindescribed.

[0024] It should also be understood that, unless a term is expresslydefined in this patent using the sentence “As used herein, the term‘______’ is hereby defined to mean . . . ” or a similar sentence, thereis no intent to limit the meaning of that term, either expressly or byimplication, beyond its plain or ordinary meaning, and such term shouldnot be interpreted to be limited in scope based on any statement made inany section of this patent (other than the language of the claims). Tothe extent that any term recited in the claims at the end of this patentis referred to in this patent in a manner consistent with a singlemeaning, that is done for sake of clarity only so as to not confuse thereader, and it is not intended that such claim term by limited, byimplication or otherwise, to that single meaning. Unless a claim elementis defined by reciting the word “means” and a function without therecital of any structure, it is not intended that the scope of any claimelement be interpreted based on the application of 35 U.S.C. §112, sixthparagraph.

[0025]FIG. 1 illustrates a vehicle 100 including a network 102 to whichvarious vehicle devices 104-110 are coupled. The devices may be sensors,actuators, processors and the like used in connection with variousvehicle functional systems and sub-systems, such as, but not limited to,control-by-wire applications for throttle, braking, steering andsuspension control, power accessories, communications, entertainment,and the like. The vehicle devices 104-110 may be coupled by interfaces112-118, which may be any suitable interface for coupling the particulardevice to the network 102, and may be wire, optical, wireless orcombinations thereof. It should be understood, however, that theinterfaces are not required elements and that the devices 104-110 may bedirectly coupled to the network or may form portions of the network. Thevehicle devices 104-110 may be adapted to provide one or more functionsassociated with the vehicle 100. These devices may be data producing,such as a sensor, data consuming, such as an actuator, processing orother devices, which both produce and consume data, or routing thattransport data within the network. Of course, an actuator, typically adata-consuming device, may also produce data, for example where theactuator produces data indicating it has achieved the instructed state,or a sensor may consume data, for example, where it is providedinstructions for the manner of function. Data produced by or provided toa device, and carried by the network 102, is independent of the functionof the device itself. That is, the interfaces 112-118 may provide deviceindependent data exchange between the coupled device and the network102.

[0026] The network 102 includes a switch fabric 130 defining a pluralityof communication paths 132 between the devices. The communication pathspermit multiple simultaneous peer-to-peer or point-to-point,one-to-many, many-to-many, etc. data packet communication between thedevices 104-110. During operation of the vehicle 100, data exchanged,for example, between devices 104 and 110 may utilize any available pathor paths between the devices. In operation, a single path through theswitch fabric 130 may carry all of the data packets representing acommunication between the device 104 and the device 110, or severalcommunication paths may carry portions of the data packets Subsequentcommunications may use the same paths or other paths as dictated by thethen state of the network 102. This flexibility provides reliability andspeed advantages over bus architectures that are restricted to singlecommunication paths between devices, and hence are subject to failurewith failure of the single path or delays based upon congestion of thepath. Moreover, communications between other of the devices 104-110 mayoccur simultaneously using the communication paths within the switchfabric 130.

[0027] The network 102 is a packet data network which may comply with atransmission control protocol/Internet (TCP/IP), asynchronous transfermode (ATM), Infiniband, RapidIO, or any other packet data protocol nowknown or later developed. It may also include bus structures that areoperated in a packet transit mode, as will be described herein later. Assuch, the network 102 may use data packets, having fixed or variablelength, defined by one or more applicable protocols. For example, if thenetwork 102 uses asynchronous transfer mode (ATM) communicationprotocol, an ATM standard data cell may be used.

[0028] The devices 104-110 need not be discrete devices. Instead, thedevices may be systems or subsystems of the vehicle and may include oneor more legacy communication media, i.e., legacy bus architectures suchas J1850, CAN, LIN, Flexray, MOST or similar bus structures. In suchembodiments, the respective interface 112-118 may be configured as aproxy or gateway to permit communication between the active network 102and the legacy device 104-110.

[0029]FIG. 2 illustrates a network 200 that includes a plurality ofnetwork elements 202-212 communicatively coupled by communication links214-230. A plurality of devices 238-250 are coupled at variouslocations, i.e., to several of the network elements 202-212 of thenetwork 200 by corresponding communication links (not separatelyidentified). The devices may be any vehicle device such as flashers238-244, flasher control (stalk switch) 246, gas pedal 248, one or moregauges such as gauge 250 and the like.

[0030] The communication links 214-230 may be robust transport media andmay be adapted from serial communication architecture as will bedescribed. That is, the communication links 214-230 may be capable ofproviding guaranteed, reliable message transfer between the networkelements. Any given communication link 214-230 may be a singlebidirectional link, a single uni-directional link or combinations ofbi-directional and uni-directional links or any combination of linktechnologies. The links may be defined according to an existing, robusttransport mechanism designed for the automotive environment such as CAN,LIN, FLEXRAY, J1850, and the like or may be defined according totransport protocols in development or that are later developed. Thelinks may also be combinations of technologies, or specified inaccordance with virtually any other protocol.

[0031] The network 200 may incorporate at some level a system managementfunction providing supervision, control, diagnostics and other relatedfunctionality. This functionality may be provide by way of a separateentity coupled to the network 200, or the functionality may bedistributed within the network elements 202-212 or other suitableelements of the network 200.

[0032]FIG. 3 illustrates the flexibility provided by the network 200. Asan example of this flexibility, consider the task of communicating asignal from the flasher control 246 to the flasher 240. The network 200is a packet based network, and permits any available communication pathfrom a source point to a destination point to be used regardless of thecommunication media. As shown in FIG. 3, the signal from the flashercontrol 246 may traverse a relatively direct path 302 between theflasher control 246 defined by the network elements 206 and 204 and thecommunication link 222 joining them. Alternatively, a path 304 via thenetwork elements 206, 202 and 204 and the communication links 218 and214 joining them may be used. Still a further path 306 via the networkelements 206, 210, 212 and 204 and the communication links 224, 228 and216 may be used. As this example clearly reveals numerous communicationpaths may be defined. The availability of multiple paths allows thenetwork to manage traffic to avoid congestion on one or more of thecommunication links 214-232 or at one or more of the network elements202-212. The availability of multiple communication paths also permitsfault tolerance in the event of failure of one or more network elementsand/or communication links by permitting a communication path to beestablished bypassing the failed elements/links.

[0033] Referring now to FIG. 4, a network 400 includes a plurality ofnetwork elements 402-412 communicatively coupled by communication links414-430. A plurality of devices 438-450 are coupled at variouslocations, i.e., to several of the network elements 402-412 of thenetwork 400 by corresponding communication links (not separatelyidentified). Legacy devices 452-458, i.e., devices adapted tocommunicate according to existing communication protocols such as J1850,CAN, LIN, Flexray, MOST and the like, are also coupled to the network400. For example, devices 452 and 454, illustrated as door switches, maybe coupled to network elements 402 and 404, respectively, by J1850communication links 460 and 462. Devices 456 and 458, in this exampledoor locks, may be coupled to network elements 410 and 412,respectively, by CAN communication links 464 and 466. Moreover, any ofthe communication links may be specified according to any suitable,preferably robust transport protocol. As illustrated in FIG. 4,communication link 414 and 416 may be specified according to CANprotocol, while the remaining links may be specified according toTCP/IP, CAN, LIN, Flexray, and the like.

[0034] A structure for the network elements may be as illustrated inFIG. 5. The network element 500 in FIG. 5 includes operationally coupledone or more input/output ports, one shown as port 502, a processor 504and a memory 506. The memory 506 incorporates a control program (notdepicted) to direct the processor to function in a manner thatfacilitates communication of data packets through the associatednetwork. The input/output port 502 is adapted to be coupled to thecommunication links to send and receive data packets from the networkelement 500. Because the network element 500 may be coupled to more thanone transport media type, the processor operates in accordance with thecontrol program to accept data packets sent via a first transport media,to modify the data packets as necessary for communication via a secondtransport media and to communicate the data packets over the secondtransport media. In this manner, the network element may act as a proxyor gateway between the disparate communication media. It will beappreciated that alternate network elements may be used with enhancedfunctionality or simplified functionality as the application requires.For example, should the network element join connection links accordingto a single protocol, the processing capability for handling disparateprotocols may not be required, and such a network element may be adaptedto merely route the data packet according to the route informationassociated with the data packet.

[0035] A data packet used for communication within the networksdescribed herein may include a packet type identifier, routinginformation, source ID information, QoS information and payload.Illustrated in FIG. 6 is an exemplary data packet 600 that may be usedin the networks. The data packet 600 may include a start of frame field602, an arbitration field 604, a control field 606, a data field 608, acyclical-redundancy check field 610 and an end of frame field 612. Thearbitration field 604 may be adapted to contain a packet type identifier614, a route pointer 616, port identifiers 618, 620 and 622, a sourcenode identifier 624 and a priority tag 626. The packet type 614identifies the type of data packet such as bearer, discovery,advertisement, fault, control and the like. The route pointer 616, ifthe data packet contains route information, points to the current hopand is decrement with each hop. The route pointer 616 may also containother types of route information. The port identifiers 618-622 identifythe ports, e.g., network elements, the data packet has traversed. Thesource node 624 identifies the information source. The priority tag 626may be reserved for QoS requirements and may contain a code identifyinga service level for the data packet. The control field 606 may containcontrol data particular to the transport media, e.g., it may contain CANcontrol data if the data packet originated from or is destined for a CANcompliant communication device. The data field 608 contains the datacarried by the packet, i.e., the payload.

[0036] The data packet 600 may be adapted to facilitate source routing,i.e., the route the data packet will take through the network isdetermined by the information source and this path information iscontained within the data packet itself. The data packet 600 may also beadapted to facilitate destination routing, i.e., the route the datapacket will take through the network is determined by each intermediatenode and the next node information is contained within the data packet.

[0037] The data packet 600 may be adapted from known communicationpacket structures, such as a CAN data packet. As shown in FIG. 6, thearbitration field 604 is adapted to facilitate communication of datapackets within the network 400 according to a number of different serialcommunication protocols. The arbitration field may also be adapted tocontain routing information for communicating the data packet 600through the network 400, i.e., information may be contained within theroute pointer 616 field or otherwise contained within the arbitrationfiled 604. For example, the routing information may be a fixed labelwhich remains with the data packet throughout the network 400. Eachnetwork element of the network 400 then includes a table to direct thedata packet through the network 400 according to the label.Alternatively, the packet may be source routed, and the arbitrationfield may then contain routing information for each hop through thenetwork. A further alternative is that the data packet 600, andparticularly the arbitration information is modified at each hop so thatit contains information for the next hop. Of course, other fields of thedata packet 600 may be used to carry routing information, QoSinformation, or other types of information.

[0038] The networks 200 and 400 may be implemented into existingapplications by adapting the communication links 214-232 from existingrobust communication medium. In the implementations shown in FIGS. 2-3,the communication links 214-232 may be specified according to the CANprotocol. Alternatively, the communication links 214-232 may bespecified according to the LIN, Flexray, J1850, MOST or other protocols.In the implementation shown in FIG. 4, the communication links 414-432may be specified according to any suitable protocol such as CAN, LIN,Flexray, J1850, MOST and the like. Each of these protocols may define anarbitration mechanism to provide for and permit flow control.Arbitration may be specified to give priority on the communication linkto a message with the highest priority. Priority may be indicated withina data packet in a message header, such as the priority tag 626 of thedata packet 600. For example, the message header may contain zeros inthe most dominant bits. If two network elements try to transmit on thesame communication link at the same time, the message with the highestpriority, e.g., the lowest value in the dominant bits, will win and theall others will release the communication link.

[0039] On initial startup of a network according to the embodimentsdescribed herein, such as networks 200 and 400, it necessary to identifyall nodes of the network. The term “node” may refer to network elements,including but not limited to those network elements described inconnection with networks 200 and 400, switches, routers and any and allcoupled devices. It is also necessary to identify message identifiersthat are of interest to particular nodes, to assign logical addresses toeach node, to create a translation table of identifiers to node logicaladdress, to create a routing table from node to node, and to create oneor more back-up routes from node to node. Several levels of service maybe associated with this so-called discovery process. For example, and aswill be described in more detail, the network may offer nodes capable ofmulticast, encryption or other capabilities. Nodes may be configured toreceive information or to advertise availability of information.

[0040] Discovery processes are known in connection with networks, andthe commonly used Dijkstra algorithm may be employed to complete anetwork discovery process and calculate the routing table. These knownprocesses however, assume a totally dynamic network and completes a fulldiscovery process on each power up or upon detection of any failure.Depending on the scale of the network, this discovery process may takeseveral minutes time, which is not practical in an automotiveenvironment where the user expects to be able to enter the vehicle,start it and immediately operate it or where a fault may occur while thevehicle is operating and any significant delay in the completing thediscovery process may present a safety concern. Having to wait severalminutes for a discovery process to complete would be viewed as a defect,and would be unacceptable to users and manufacturers.

[0041] Networks according to the embodiments described herein generallyare not totally dynamic. The network typically only becomes dynamic upondetecting a failure, i.e., the network is not dynamic until somethinggoes wrong, or when new hardware is added to the network. Therefore, alast known state of the network may be saved and an incrementaldiscovery .process may be employed upon detecting a network change. Theincremental discovery process may be completed with little or no-effecton overall network performance. A suitable discovery process isdisclosed and described in U.S. patent application Ser. No. 10/463,988,entitled a Discovery Process in a Vehicle Network, the disclosure ofwhich is hereby expressly incorporated by reference.

[0042] The flexibility of the described network architecture may be usedto implement a variety of network services and capabilities. One suchcapability is improved QoS. In addition to the inherent QoS advantagesprovided by the network architecture, advantages may be obtained throughthe control of messaging and traffic within the network. There arenumerous QoS considerations depending on the data being communicated.For example, certain data may be defined as real time mission critical.Delivery of this data must be guaranteed within a few milliseconds (ms).Examples of such data are safety related controls, powertrain operatingcontrols, braking and steering controls and the like. There may alsoexist non-real time mission critical data. This data also requiresguaranteed delivery, but the time constrains on that delivery areflexible and may be in the hundreds of milliseconds. Examples of thisdata may include non-safety related vehicle operating controls andfunctions. There may also be real time non-mission critical data. Thisdata may require delivery within tens of milliseconds without deliveryguarantee. That is, if the data is not delivered within a delivery timeframe, it may be simply dropped. This data may be voice/multimediarelated data and the like. The network concepts herein described may beadapted to meet each of these QoS requirements.

[0043] Referring to FIG. 7, a network 700 includes a plurality ofnetwork nodes. Two types of network nodes are illustrated in FIG. 7,although more than two types can be envisioned. Of the two types shown,the first type is smart nodes. Smart nodes 702-712 are shown in FIG. 7,which for the sake of the example illustrated in FIG. 7 represent thefront right wheel (FRW) speed sensor 702, front left wheel (FLW) speedsensor 704, rear right wheel (RRW) speed sensor 706, rear left wheel(RLW) speed sensor 708, vehicle speed (VS) sensor 710 and transmissioncontroller (TC) 712. The smart nodes 702-712 may be devices, modules,sub-systems and systems that may include one or more applications, maybe a sink and/or source of data and may include intelligent switchingcapability. A second type of node is referred to as a dumb node, one ofwhich is identified as dumb node 714. The dumb nodes 714 may be simplestateless switches capable of routing data packets according to embeddedrouting information. The dumb nodes 714 may be standalone devices asillustrated in FIG. 7, or they may be integrated into wiring connectors,wiring harnesses and other similar hardware. The smart nodes 702-712 andthe dumb nodes 714 are communicatively coupled by a plurality ofcommunication links, one illustrated as communication link 716. Thecommunication links 716 may be any suitable communication media and maybe specified in accordance with one or more serial bus architecturessuch as CAN, LIN, J1850, Flexray, MOST and the like. Alternatively, thecommunication links 716 may be specified according to one or more packetdata communication protocols such as TCP/IP, RapidIO, ATM and the like.

[0044] The network 700 illustrates devices that produce or consume realtime mission critical data, i.e., wheel speed sensors (702-708),transmission controller (712) and vehicle speed sensors (710); data thatmay be used in connection with anti-lock braking, traction and stabilitycontrol, speed control, collision avoidance and other vehicle operationfunctions. The network 700 also illustrates devices that produce orconsume real time non mission critical data, i.e., selection andoperation control signals and audio output signals from the CD player714 and amplifier 716.

[0045] The smart nodes 702-712, a system management function (notdepicted), a combination thereof, or other network entity may detectthat a node, either a smart node or a dumb node, is creating traffic,inhibiting traffic flow or otherwise function in a manner that thatdegrades the performance of the network. To bring this traffic situationunder control, e.g., to make it compatible with the system capacity,multiple classes of service for messages may be defined and implemented.Message class information, or QoS class of the message, may be used toselectively control traffic within the network.

[0046] In one possible implementation, network nodes, e.g., the smartnodes 702-712, may be configured to perform an arbitration function. Insuch a configuration, an adjacent node may be configured to control thelinks to a node. The adjacent node would then be in a position to assertcontrol of the link, e.g., by applying a dominant state on the link,using the arbitration mechanism defined by the link communicationprotocol. Each of the foregoing describe communication protocols, CAN,LIN, J1850, Flexray, MOST and the like that may be implemented on thelinks provide such an arbitration mechanism. Thus, the adjacent node maybe used to shut off all traffic from one or more nodes on a link or tothrottle the traffic to a set predetermined or average level.

[0047] As further described, messages communicated within the networkmay contain message class data, and the message class data may be usedto manage traffic from a given port on a node. Messages may be assignedone of a number of different classes based upon the mission critical,non-mission critical and various other classes of messages that may bedefined within the network. Message classes may be assigned by the nodecreating the message or may be generated by a central or distributedmanagement function. The message class data may be carried in dedicatedpackages/frames or combined with the messages themselves or with othermessages.

[0048] Both arbitration and message class traffic management allows fora reducing to a desired level or entirely stopping all or a portion ofthe traffic within all or a portion of the network. In anotherimplementation, the physical link control mechanism may be used todisable one or more links for a set or dynamic percent of time or set ordynamic period of time responsive to any number of criteria. Forexample, the link may be caused to be disabled for a set period of timeafter a predetermined number of messages are sent or the average messagerate exceeds a selectable threshold. The percent or period may beselective as to message class or other message characteristic, such asdestination. For example, the network may disable a link for x secondsafter n high message (QoS) class messages are sent within y seconds. Thelink may be responsive to the presence of a token, or similar permissivestructure, at a node that defines a level of messaging traffic on the.link to or from the node. The token may define. a message budget, e.g.,allowing x number of messages per unit time. The token may further betime limited, and thus may expire after a defined period of activity ortime.

[0049] The messaging rate can be similarly used to completely stoptraffic, throttle to a given rate or selectively throttle messages bymessage (QoS) class. In addition, the messaging mechanism allows theflexibility of sending a node budget or token allowing it to send agiven number of messages per message characteristic such as message(QoS) class or destination node. This can be applied in many situations.For example, a node receiving an overload of messages from multiplesources could send a message for all or some nodes to throttle allmessages, specific messages or all messages of a given message (QoS)class.

[0050] To further ensure satisfactory QoS for the real time missioncritical data, a configurable fraction or partition of communicationbandwidth may be dedicated to a particular kind of message traffic,e.g., mission critical traffic. In general, the ability to handlemultiple message classes on a switched network requires schemes toreserve resources in the network. This reservation may be static or maybe dynamically changed in response to network traffic conditions orrequests from specific applications.

[0051] In general, memory needs to be allocated to allow for the queuingof messages. This allocation may be on a per node port basis and may beseparately allocated for input and output messages . An alternative maybe to have shared memory for all ports. In any case, memory may beallocated based on message (QoS) class or other message characteristic.

[0052] For any buffering scheme, the algorithm to handle queuing may beselective based on message characteristic. For example, one message(QoS) class may be handled on a first-in-first-out (FIFO) basis whileanother class may be handled on a last-in-first-out (LIFO) basis.

[0053] Another approach to managing the flexible allocation of bandwidthis to throttle data at the smart nodes such that the smart node islimited to transmitting only at a fraction F of the available timeaveraged over a time period W. F and W may vary by traffic class andnode, and these values may be preconfigured and/or configured by asystem management function. Sufficient buffer space may be needed withinthe network, but not necessarily for all of the smart nodes, such thatat least all real time mission critical traffic can be buffered in thecase of output port contention. The buffer size and availability may bebased upon the QoS of the traffic class. To prevent buffer overflow, andloss of data, throttling messages may be used to stop non-missioncritical traffic as buffer occupancy grows to a trigger point. Forexample, smart nodes 702, 704 and 706 are coupled to a network 700. Eachsmart node 702 and 704 may be configured to send 0.25 Mbs to node 706averaged over a 0.1 sec. time period. Both smart nodes 702 and 704 couldpotentially send a 1 Mbs burst for 0.25 sec. simultaneously to 706. Inthis case, the network 708 has to buffer at least 25 kb of data for0.025 sec. As will be appreciated, requirements for buffering canquickly grow large unless small averaging windows are used. If 7702 isnon-mission critical, a throttling message. may be employed to preventit from. simultaneously with 704 transmitting to 706. Alternatively oradditionally, the averaging window for 702 may be made sufficientlysmall to reduce buffer requirements.

[0054] The networks described herein have application and asdemonstrated may be adapted to operate with legacy architecture, systemsand devices. It may become necessary or desirable to retrofit anexisting vehicle that is specified with legacy architecture with one ormore features that take advantage of the improved capability and QoS ofthe network structures according to this patent.

[0055] Other modifications and alternative embodiments of the inventionwill be apparent to those skilled in the art in view of the foregoingdescription. This description is to be construed as illustrative only,and is for the purpose of teaching those skilled in the art the bestmode of carrying out the invention. The details of the structure andmethod may be varied substantially without departing from the spirit ofthe invention, and the exclusive use of all modifications which comewithin the scope of the appended claims is reserved.

We claim:
 1. A vehicle comprising: a plurality of network nodes; thenetwork nodes being interconnected by connection media forpoint-to-point communication, the connection media being operable inaccordance with one or more communication protocols; and a flow controlmechanism associated with the connection media, the flow controlmechanism operable to control message traffic on the connection mediabetween a first network node and a second network node.
 2. The vehicleof claim 1, wherein the flow control mechanism comprises an arbitrationmechanism.
 3. The vehicle of claim 2, the arbitration mechanism beingoperable to either preclude message traffic on the connection media orthrottle message traffic on the connection media between the firstnetwork node and the second network node.
 4. The vehicle of claim 2, thearbitration mechanism being operable to throttle message traffic on theconnection media between the first network node and the second networknode to a set average level.
 5. The vehicle of claim 2, wherein thearbitration mechanism is operable to assert a dominant state on theconnection media, the dominant state precluding message traffic on theconnection media between the first network node and the second networknode.
 6. The vehicle of claim 1, wherein the flow control mechanismcomprises a message class associated with the message traffic betweenthe first network node and the second network node.
 7. The vehicle ofclaim 6, wherein the message class defines a quality of service (QoS)level associated with the message traffic.
 8. The vehicle of claim 1,wherein the flow control mechanism is operable to disable the connectionmedia between the first network node and the second network node foreither a predetermined percentage of time or a predetermined period oftime.
 9. The vehicle of claim 1, wherein the flow control mechanism isoperable responsive to level of message traffic on the connection mediabetween the first network node and the second network node.
 10. Thevehicle of claim 1, wherein the flow control mechanism is responsive toreceipt of a token defining a permitted level of message traffic to orfrom a network node.
 11. In a vehicle a method of controlling messagetraffic on connection media communicatively coupling a first networknode and a second network node, the method comprising: providing a flowcontrol mechanism associated with the connection media, the flow controlmechanism operable to control message traffic on the connection media,and controlling message traffic on the connection media by at least oneof controlling the connection media capacity and controlling messagetraffic access to the connection media.
 12. The method of claim 11,wherein controlling the connection media access comprises arbitratingmessage traffic access to the connection media.
 13. The method of claim12, wherein arbitrating message traffic access comprises either ofprecluding message traffic on the connection media and throttlingmessage traffic on the connection media.
 14. The method of claim 12,wherein arbitrating message traffic access comprises throttling messagetraffic on the connection media between the first network node and thesecond network node to a set average level.
 15. The method of claim 12,wherein arbitrating message traffic access comprises asserting adominant state on the connection media, the dominant state precludingmessage traffic on the connection media between the first network nodeand the second network node.
 16. The method of claim 11, whereincontrolling message traffic access to the connection media comprisesassigning a message class to the message traffic.
 17. The method ofclaim 16, wherein the message class defines a quality of service (QoS)level associated with the message traffic.
 18. The method of claim 11,wherein controlling the connection media capacity comprises disablingthe connection media between the first network node and the secondnetwork node for either a predetermined percentage of time or apredetermined period of time.
 19. The method of claim 11, wherein theflow control mechanism is operable responsive to level of messagetraffic on the connection media between the first network node and thesecond network node.
 20. The method of claim 11, comprising providing atoken to a network node, the token defining a permitted level of messagetraffic to or from the network node.